// Copyright (c) 2010, SMB SAAS Systems Inc.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must  retain  the  above copyright notice, this
//   list of conditions and the following disclaimer.
//
// - Redistributions in binary form  must  reproduce the  above  copyright  notice,
//   this list of conditions  and  the  following  disclaimer in  the documentation
//   and/or other materials provided with the distribution.
//
// - Neither  the  name  of  the  SMB SAAS Systems Inc.  nor   the   names  of  its
//   contributors may be used to endorse or  promote  products  derived  from  this
//   software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,  BUT  NOT  LIMITED TO, THE IMPLIED
// WARRANTIES  OF  MERCHANTABILITY   AND  FITNESS  FOR  A  PARTICULAR  PURPOSE  ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL,  SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO,  PROCUREMENT  OF  SUBSTITUTE  GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)  HOWEVER  CAUSED AND ON
// ANY  THEORY  OF  LIABILITY,  WHETHER  IN  CONTRACT,  STRICT  LIABILITY,  OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE)  ARISING  IN  ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:2.0.50727.3053
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

// 
// This source code was auto-generated by wsdl, Version=2.0.50727.42.
// 
using dotPanel.Providers;
using dotPanel.Providers.Common;
using dotPanel.Providers.HostedSolution;
using dotPanel.Providers.ResultObjects;

namespace dotPanel.EnterpriseServer.HostedSolution {
    using System.Diagnostics;
    using System.Web.Services;
    using System.ComponentModel;
    using System.Web.Services.Protocols;
    using System;
    using System.Xml.Serialization;
    using System.Data;
    
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Web.Services.WebServiceBindingAttribute(Name="esOrganizationsSoap", Namespace="http://tempuri.org/")]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ResultObject))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ServiceProviderItem))]
    public partial class esOrganizations : Microsoft.Web.Services3.WebServicesClientProtocol {
        
        private System.Threading.SendOrPostCallback CreateOrganizationOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetRawOrganizationsPagedOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetOrganizationsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetOrganizationUserSummuryLetterOperationCompleted;
        
        private System.Threading.SendOrPostCallback SendOrganizationUserSummuryLetterOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteOrganizationOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetOrganizationStatisticsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetOrganizationOperationCompleted;
        
        private System.Threading.SendOrPostCallback AddOrganizationDomainOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetOrganizationDomainsOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteOrganizationDomainOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetOrganizationDefaultDomainOperationCompleted;
        
        private System.Threading.SendOrPostCallback CreateUserOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetOrganizationUsersPagedOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetUserGeneralSettingsOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetUserGeneralSettingsOperationCompleted;
        
        private System.Threading.SendOrPostCallback SearchAccountsOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteUserOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetPasswordPolicyOperationCompleted;
        
        /// <remarks/>
        public esOrganizations() {
            this.Url = "http://localhost/dotPanelEnterpriseServer/esOrganizations.asmx";
        }
        
        /// <remarks/>
        public event CreateOrganizationCompletedEventHandler CreateOrganizationCompleted;
        
        /// <remarks/>
        public event GetRawOrganizationsPagedCompletedEventHandler GetRawOrganizationsPagedCompleted;
        
        /// <remarks/>
        public event GetOrganizationsCompletedEventHandler GetOrganizationsCompleted;
        
        /// <remarks/>
        public event GetOrganizationUserSummuryLetterCompletedEventHandler GetOrganizationUserSummuryLetterCompleted;
        
        /// <remarks/>
        public event SendOrganizationUserSummuryLetterCompletedEventHandler SendOrganizationUserSummuryLetterCompleted;
        
        /// <remarks/>
        public event DeleteOrganizationCompletedEventHandler DeleteOrganizationCompleted;
        
        /// <remarks/>
        public event GetOrganizationStatisticsCompletedEventHandler GetOrganizationStatisticsCompleted;
        
        /// <remarks/>
        public event GetOrganizationCompletedEventHandler GetOrganizationCompleted;
        
        /// <remarks/>
        public event AddOrganizationDomainCompletedEventHandler AddOrganizationDomainCompleted;
        
        /// <remarks/>
        public event GetOrganizationDomainsCompletedEventHandler GetOrganizationDomainsCompleted;
        
        /// <remarks/>
        public event DeleteOrganizationDomainCompletedEventHandler DeleteOrganizationDomainCompleted;
        
        /// <remarks/>
        public event SetOrganizationDefaultDomainCompletedEventHandler SetOrganizationDefaultDomainCompleted;
        
        /// <remarks/>
        public event CreateUserCompletedEventHandler CreateUserCompleted;
        
        /// <remarks/>
        public event GetOrganizationUsersPagedCompletedEventHandler GetOrganizationUsersPagedCompleted;
        
        /// <remarks/>
        public event GetUserGeneralSettingsCompletedEventHandler GetUserGeneralSettingsCompleted;
        
        /// <remarks/>
        public event SetUserGeneralSettingsCompletedEventHandler SetUserGeneralSettingsCompleted;
        
        /// <remarks/>
        public event SearchAccountsCompletedEventHandler SearchAccountsCompleted;
        
        /// <remarks/>
        public event DeleteUserCompletedEventHandler DeleteUserCompleted;
        
        /// <remarks/>
        public event GetPasswordPolicyCompletedEventHandler GetPasswordPolicyCompleted;
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/CreateOrganization", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int CreateOrganization(int packageId, string organizationID, string organizationName) {
            object[] results = this.Invoke("CreateOrganization", new object[] {
                        packageId,
                        organizationID,
                        organizationName});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginCreateOrganization(int packageId, string organizationID, string organizationName, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("CreateOrganization", new object[] {
                        packageId,
                        organizationID,
                        organizationName}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndCreateOrganization(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void CreateOrganizationAsync(int packageId, string organizationID, string organizationName) {
            this.CreateOrganizationAsync(packageId, organizationID, organizationName, null);
        }
        
        /// <remarks/>
        public void CreateOrganizationAsync(int packageId, string organizationID, string organizationName, object userState) {
            if ((this.CreateOrganizationOperationCompleted == null)) {
                this.CreateOrganizationOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateOrganizationOperationCompleted);
            }
            this.InvokeAsync("CreateOrganization", new object[] {
                        packageId,
                        organizationID,
                        organizationName}, this.CreateOrganizationOperationCompleted, userState);
        }
        
        private void OnCreateOrganizationOperationCompleted(object arg) {
            if ((this.CreateOrganizationCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CreateOrganizationCompleted(this, new CreateOrganizationCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetRawOrganizationsPaged", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public System.Data.DataSet GetRawOrganizationsPaged(int packageId, bool recursive, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows) {
            object[] results = this.Invoke("GetRawOrganizationsPaged", new object[] {
                        packageId,
                        recursive,
                        filterColumn,
                        filterValue,
                        sortColumn,
                        startRow,
                        maximumRows});
            return ((System.Data.DataSet)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetRawOrganizationsPaged(int packageId, bool recursive, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetRawOrganizationsPaged", new object[] {
                        packageId,
                        recursive,
                        filterColumn,
                        filterValue,
                        sortColumn,
                        startRow,
                        maximumRows}, callback, asyncState);
        }
        
        /// <remarks/>
        public System.Data.DataSet EndGetRawOrganizationsPaged(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((System.Data.DataSet)(results[0]));
        }
        
        /// <remarks/>
        public void GetRawOrganizationsPagedAsync(int packageId, bool recursive, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows) {
            this.GetRawOrganizationsPagedAsync(packageId, recursive, filterColumn, filterValue, sortColumn, startRow, maximumRows, null);
        }
        
        /// <remarks/>
        public void GetRawOrganizationsPagedAsync(int packageId, bool recursive, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, object userState) {
            if ((this.GetRawOrganizationsPagedOperationCompleted == null)) {
                this.GetRawOrganizationsPagedOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetRawOrganizationsPagedOperationCompleted);
            }
            this.InvokeAsync("GetRawOrganizationsPaged", new object[] {
                        packageId,
                        recursive,
                        filterColumn,
                        filterValue,
                        sortColumn,
                        startRow,
                        maximumRows}, this.GetRawOrganizationsPagedOperationCompleted, userState);
        }
        
        private void OnGetRawOrganizationsPagedOperationCompleted(object arg) {
            if ((this.GetRawOrganizationsPagedCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetRawOrganizationsPagedCompleted(this, new GetRawOrganizationsPagedCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetOrganizations", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public Organization[] GetOrganizations(int packageId, bool recursive) {
            object[] results = this.Invoke("GetOrganizations", new object[] {
                        packageId,
                        recursive});
            return ((Organization[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetOrganizations(int packageId, bool recursive, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetOrganizations", new object[] {
                        packageId,
                        recursive}, callback, asyncState);
        }
        
        /// <remarks/>
        public Organization[] EndGetOrganizations(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((Organization[])(results[0]));
        }
        
        /// <remarks/>
        public void GetOrganizationsAsync(int packageId, bool recursive) {
            this.GetOrganizationsAsync(packageId, recursive, null);
        }
        
        /// <remarks/>
        public void GetOrganizationsAsync(int packageId, bool recursive, object userState) {
            if ((this.GetOrganizationsOperationCompleted == null)) {
                this.GetOrganizationsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetOrganizationsOperationCompleted);
            }
            this.InvokeAsync("GetOrganizations", new object[] {
                        packageId,
                        recursive}, this.GetOrganizationsOperationCompleted, userState);
        }
        
        private void OnGetOrganizationsOperationCompleted(object arg) {
            if ((this.GetOrganizationsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetOrganizationsCompleted(this, new GetOrganizationsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetOrganizationUserSummuryLetter", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string GetOrganizationUserSummuryLetter(int itemId, int accountId, bool pmm, bool emailMode, bool signup) {
            object[] results = this.Invoke("GetOrganizationUserSummuryLetter", new object[] {
                        itemId,
                        accountId,
                        pmm,
                        emailMode,
                        signup});
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetOrganizationUserSummuryLetter(int itemId, int accountId, bool pmm, bool emailMode, bool signup, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetOrganizationUserSummuryLetter", new object[] {
                        itemId,
                        accountId,
                        pmm,
                        emailMode,
                        signup}, callback, asyncState);
        }
        
        /// <remarks/>
        public string EndGetOrganizationUserSummuryLetter(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public void GetOrganizationUserSummuryLetterAsync(int itemId, int accountId, bool pmm, bool emailMode, bool signup) {
            this.GetOrganizationUserSummuryLetterAsync(itemId, accountId, pmm, emailMode, signup, null);
        }
        
        /// <remarks/>
        public void GetOrganizationUserSummuryLetterAsync(int itemId, int accountId, bool pmm, bool emailMode, bool signup, object userState) {
            if ((this.GetOrganizationUserSummuryLetterOperationCompleted == null)) {
                this.GetOrganizationUserSummuryLetterOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetOrganizationUserSummuryLetterOperationCompleted);
            }
            this.InvokeAsync("GetOrganizationUserSummuryLetter", new object[] {
                        itemId,
                        accountId,
                        pmm,
                        emailMode,
                        signup}, this.GetOrganizationUserSummuryLetterOperationCompleted, userState);
        }
        
        private void OnGetOrganizationUserSummuryLetterOperationCompleted(object arg) {
            if ((this.GetOrganizationUserSummuryLetterCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetOrganizationUserSummuryLetterCompleted(this, new GetOrganizationUserSummuryLetterCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/SendOrganizationUserSummuryLetter", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int SendOrganizationUserSummuryLetter(int itemId, int accountId, bool signup, string to, string cc) {
            object[] results = this.Invoke("SendOrganizationUserSummuryLetter", new object[] {
                        itemId,
                        accountId,
                        signup,
                        to,
                        cc});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSendOrganizationUserSummuryLetter(int itemId, int accountId, bool signup, string to, string cc, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("SendOrganizationUserSummuryLetter", new object[] {
                        itemId,
                        accountId,
                        signup,
                        to,
                        cc}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndSendOrganizationUserSummuryLetter(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void SendOrganizationUserSummuryLetterAsync(int itemId, int accountId, bool signup, string to, string cc) {
            this.SendOrganizationUserSummuryLetterAsync(itemId, accountId, signup, to, cc, null);
        }
        
        /// <remarks/>
        public void SendOrganizationUserSummuryLetterAsync(int itemId, int accountId, bool signup, string to, string cc, object userState) {
            if ((this.SendOrganizationUserSummuryLetterOperationCompleted == null)) {
                this.SendOrganizationUserSummuryLetterOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSendOrganizationUserSummuryLetterOperationCompleted);
            }
            this.InvokeAsync("SendOrganizationUserSummuryLetter", new object[] {
                        itemId,
                        accountId,
                        signup,
                        to,
                        cc}, this.SendOrganizationUserSummuryLetterOperationCompleted, userState);
        }
        
        private void OnSendOrganizationUserSummuryLetterOperationCompleted(object arg) {
            if ((this.SendOrganizationUserSummuryLetterCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SendOrganizationUserSummuryLetterCompleted(this, new SendOrganizationUserSummuryLetterCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/DeleteOrganization", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int DeleteOrganization(int itemId) {
            object[] results = this.Invoke("DeleteOrganization", new object[] {
                        itemId});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginDeleteOrganization(int itemId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("DeleteOrganization", new object[] {
                        itemId}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndDeleteOrganization(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void DeleteOrganizationAsync(int itemId) {
            this.DeleteOrganizationAsync(itemId, null);
        }
        
        /// <remarks/>
        public void DeleteOrganizationAsync(int itemId, object userState) {
            if ((this.DeleteOrganizationOperationCompleted == null)) {
                this.DeleteOrganizationOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteOrganizationOperationCompleted);
            }
            this.InvokeAsync("DeleteOrganization", new object[] {
                        itemId}, this.DeleteOrganizationOperationCompleted, userState);
        }
        
        private void OnDeleteOrganizationOperationCompleted(object arg) {
            if ((this.DeleteOrganizationCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteOrganizationCompleted(this, new DeleteOrganizationCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetOrganizationStatistics", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public OrganizationStatistics GetOrganizationStatistics(int itemId) {
            object[] results = this.Invoke("GetOrganizationStatistics", new object[] {
                        itemId});
            return ((OrganizationStatistics)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetOrganizationStatistics(int itemId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetOrganizationStatistics", new object[] {
                        itemId}, callback, asyncState);
        }
        
        /// <remarks/>
        public OrganizationStatistics EndGetOrganizationStatistics(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((OrganizationStatistics)(results[0]));
        }
        
        /// <remarks/>
        public void GetOrganizationStatisticsAsync(int itemId) {
            this.GetOrganizationStatisticsAsync(itemId, null);
        }
        
        /// <remarks/>
        public void GetOrganizationStatisticsAsync(int itemId, object userState) {
            if ((this.GetOrganizationStatisticsOperationCompleted == null)) {
                this.GetOrganizationStatisticsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetOrganizationStatisticsOperationCompleted);
            }
            this.InvokeAsync("GetOrganizationStatistics", new object[] {
                        itemId}, this.GetOrganizationStatisticsOperationCompleted, userState);
        }
        
        private void OnGetOrganizationStatisticsOperationCompleted(object arg) {
            if ((this.GetOrganizationStatisticsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetOrganizationStatisticsCompleted(this, new GetOrganizationStatisticsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetOrganization", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public Organization GetOrganization(int itemId) {
            object[] results = this.Invoke("GetOrganization", new object[] {
                        itemId});
            return ((Organization)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetOrganization(int itemId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetOrganization", new object[] {
                        itemId}, callback, asyncState);
        }
        
        /// <remarks/>
        public Organization EndGetOrganization(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((Organization)(results[0]));
        }
        
        /// <remarks/>
        public void GetOrganizationAsync(int itemId) {
            this.GetOrganizationAsync(itemId, null);
        }
        
        /// <remarks/>
        public void GetOrganizationAsync(int itemId, object userState) {
            if ((this.GetOrganizationOperationCompleted == null)) {
                this.GetOrganizationOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetOrganizationOperationCompleted);
            }
            this.InvokeAsync("GetOrganization", new object[] {
                        itemId}, this.GetOrganizationOperationCompleted, userState);
        }
        
        private void OnGetOrganizationOperationCompleted(object arg) {
            if ((this.GetOrganizationCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetOrganizationCompleted(this, new GetOrganizationCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/AddOrganizationDomain", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int AddOrganizationDomain(int itemId, string domainName) {
            object[] results = this.Invoke("AddOrganizationDomain", new object[] {
                        itemId,
                        domainName});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginAddOrganizationDomain(int itemId, string domainName, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("AddOrganizationDomain", new object[] {
                        itemId,
                        domainName}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndAddOrganizationDomain(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void AddOrganizationDomainAsync(int itemId, string domainName) {
            this.AddOrganizationDomainAsync(itemId, domainName, null);
        }
        
        /// <remarks/>
        public void AddOrganizationDomainAsync(int itemId, string domainName, object userState) {
            if ((this.AddOrganizationDomainOperationCompleted == null)) {
                this.AddOrganizationDomainOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAddOrganizationDomainOperationCompleted);
            }
            this.InvokeAsync("AddOrganizationDomain", new object[] {
                        itemId,
                        domainName}, this.AddOrganizationDomainOperationCompleted, userState);
        }
        
        private void OnAddOrganizationDomainOperationCompleted(object arg) {
            if ((this.AddOrganizationDomainCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.AddOrganizationDomainCompleted(this, new AddOrganizationDomainCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetOrganizationDomains", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public OrganizationDomainName[] GetOrganizationDomains(int itemId) {
            object[] results = this.Invoke("GetOrganizationDomains", new object[] {
                        itemId});
            return ((OrganizationDomainName[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetOrganizationDomains(int itemId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetOrganizationDomains", new object[] {
                        itemId}, callback, asyncState);
        }
        
        /// <remarks/>
        public OrganizationDomainName[] EndGetOrganizationDomains(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((OrganizationDomainName[])(results[0]));
        }
        
        /// <remarks/>
        public void GetOrganizationDomainsAsync(int itemId) {
            this.GetOrganizationDomainsAsync(itemId, null);
        }
        
        /// <remarks/>
        public void GetOrganizationDomainsAsync(int itemId, object userState) {
            if ((this.GetOrganizationDomainsOperationCompleted == null)) {
                this.GetOrganizationDomainsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetOrganizationDomainsOperationCompleted);
            }
            this.InvokeAsync("GetOrganizationDomains", new object[] {
                        itemId}, this.GetOrganizationDomainsOperationCompleted, userState);
        }
        
        private void OnGetOrganizationDomainsOperationCompleted(object arg) {
            if ((this.GetOrganizationDomainsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetOrganizationDomainsCompleted(this, new GetOrganizationDomainsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/DeleteOrganizationDomain", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int DeleteOrganizationDomain(int itemId, int domainId) {
            object[] results = this.Invoke("DeleteOrganizationDomain", new object[] {
                        itemId,
                        domainId});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginDeleteOrganizationDomain(int itemId, int domainId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("DeleteOrganizationDomain", new object[] {
                        itemId,
                        domainId}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndDeleteOrganizationDomain(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void DeleteOrganizationDomainAsync(int itemId, int domainId) {
            this.DeleteOrganizationDomainAsync(itemId, domainId, null);
        }
        
        /// <remarks/>
        public void DeleteOrganizationDomainAsync(int itemId, int domainId, object userState) {
            if ((this.DeleteOrganizationDomainOperationCompleted == null)) {
                this.DeleteOrganizationDomainOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteOrganizationDomainOperationCompleted);
            }
            this.InvokeAsync("DeleteOrganizationDomain", new object[] {
                        itemId,
                        domainId}, this.DeleteOrganizationDomainOperationCompleted, userState);
        }
        
        private void OnDeleteOrganizationDomainOperationCompleted(object arg) {
            if ((this.DeleteOrganizationDomainCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteOrganizationDomainCompleted(this, new DeleteOrganizationDomainCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/SetOrganizationDefaultDomain", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int SetOrganizationDefaultDomain(int itemId, int domainId) {
            object[] results = this.Invoke("SetOrganizationDefaultDomain", new object[] {
                        itemId,
                        domainId});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSetOrganizationDefaultDomain(int itemId, int domainId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("SetOrganizationDefaultDomain", new object[] {
                        itemId,
                        domainId}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndSetOrganizationDefaultDomain(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void SetOrganizationDefaultDomainAsync(int itemId, int domainId) {
            this.SetOrganizationDefaultDomainAsync(itemId, domainId, null);
        }
        
        /// <remarks/>
        public void SetOrganizationDefaultDomainAsync(int itemId, int domainId, object userState) {
            if ((this.SetOrganizationDefaultDomainOperationCompleted == null)) {
                this.SetOrganizationDefaultDomainOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetOrganizationDefaultDomainOperationCompleted);
            }
            this.InvokeAsync("SetOrganizationDefaultDomain", new object[] {
                        itemId,
                        domainId}, this.SetOrganizationDefaultDomainOperationCompleted, userState);
        }
        
        private void OnSetOrganizationDefaultDomainOperationCompleted(object arg) {
            if ((this.SetOrganizationDefaultDomainCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetOrganizationDefaultDomainCompleted(this, new SetOrganizationDefaultDomainCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/CreateUser", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int CreateUser(int itemId, string displayName, string name, string domain, string password, bool sendNotification, string to) {
            object[] results = this.Invoke("CreateUser", new object[] {
                        itemId,
                        displayName,
                        name,
                        domain,
                        password,
                        sendNotification,
                        to});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginCreateUser(int itemId, string displayName, string name, string domain, string password, bool sendNotification, string to, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("CreateUser", new object[] {
                        itemId,
                        displayName,
                        name,
                        domain,
                        password,
                        sendNotification,
                        to}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndCreateUser(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void CreateUserAsync(int itemId, string displayName, string name, string domain, string password, bool sendNotification, string to) {
            this.CreateUserAsync(itemId, displayName, name, domain, password, sendNotification, to, null);
        }
        
        /// <remarks/>
        public void CreateUserAsync(int itemId, string displayName, string name, string domain, string password, bool sendNotification, string to, object userState) {
            if ((this.CreateUserOperationCompleted == null)) {
                this.CreateUserOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateUserOperationCompleted);
            }
            this.InvokeAsync("CreateUser", new object[] {
                        itemId,
                        displayName,
                        name,
                        domain,
                        password,
                        sendNotification,
                        to}, this.CreateUserOperationCompleted, userState);
        }
        
        private void OnCreateUserOperationCompleted(object arg) {
            if ((this.CreateUserCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CreateUserCompleted(this, new CreateUserCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetOrganizationUsersPaged", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public OrganizationUsersPaged GetOrganizationUsersPaged(int itemId, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows) {
            object[] results = this.Invoke("GetOrganizationUsersPaged", new object[] {
                        itemId,
                        filterColumn,
                        filterValue,
                        sortColumn,
                        startRow,
                        maximumRows});
            return ((OrganizationUsersPaged)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetOrganizationUsersPaged(int itemId, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetOrganizationUsersPaged", new object[] {
                        itemId,
                        filterColumn,
                        filterValue,
                        sortColumn,
                        startRow,
                        maximumRows}, callback, asyncState);
        }
        
        /// <remarks/>
        public OrganizationUsersPaged EndGetOrganizationUsersPaged(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((OrganizationUsersPaged)(results[0]));
        }
        
        /// <remarks/>
        public void GetOrganizationUsersPagedAsync(int itemId, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows) {
            this.GetOrganizationUsersPagedAsync(itemId, filterColumn, filterValue, sortColumn, startRow, maximumRows, null);
        }
        
        /// <remarks/>
        public void GetOrganizationUsersPagedAsync(int itemId, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, object userState) {
            if ((this.GetOrganizationUsersPagedOperationCompleted == null)) {
                this.GetOrganizationUsersPagedOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetOrganizationUsersPagedOperationCompleted);
            }
            this.InvokeAsync("GetOrganizationUsersPaged", new object[] {
                        itemId,
                        filterColumn,
                        filterValue,
                        sortColumn,
                        startRow,
                        maximumRows}, this.GetOrganizationUsersPagedOperationCompleted, userState);
        }
        
        private void OnGetOrganizationUsersPagedOperationCompleted(object arg) {
            if ((this.GetOrganizationUsersPagedCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetOrganizationUsersPagedCompleted(this, new GetOrganizationUsersPagedCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetUserGeneralSettings", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public OrganizationUser GetUserGeneralSettings(int itemId, int accountId) {
            object[] results = this.Invoke("GetUserGeneralSettings", new object[] {
                        itemId,
                        accountId});
            return ((OrganizationUser)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetUserGeneralSettings(int itemId, int accountId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetUserGeneralSettings", new object[] {
                        itemId,
                        accountId}, callback, asyncState);
        }
        
        /// <remarks/>
        public OrganizationUser EndGetUserGeneralSettings(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((OrganizationUser)(results[0]));
        }
        
        /// <remarks/>
        public void GetUserGeneralSettingsAsync(int itemId, int accountId) {
            this.GetUserGeneralSettingsAsync(itemId, accountId, null);
        }
        
        /// <remarks/>
        public void GetUserGeneralSettingsAsync(int itemId, int accountId, object userState) {
            if ((this.GetUserGeneralSettingsOperationCompleted == null)) {
                this.GetUserGeneralSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetUserGeneralSettingsOperationCompleted);
            }
            this.InvokeAsync("GetUserGeneralSettings", new object[] {
                        itemId,
                        accountId}, this.GetUserGeneralSettingsOperationCompleted, userState);
        }
        
        private void OnGetUserGeneralSettingsOperationCompleted(object arg) {
            if ((this.GetUserGeneralSettingsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetUserGeneralSettingsCompleted(this, new GetUserGeneralSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/SetUserGeneralSettings", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int SetUserGeneralSettings(
                    int itemId, 
                    int accountId, 
                    string displayName, 
                    string password, 
                    bool hideAddressBook, 
                    bool disabled, 
                    bool locked, 
                    string firstName, 
                    string initials, 
                    string lastName, 
                    string address, 
                    string city, 
                    string state, 
                    string zip, 
                    string country, 
                    string jobTitle, 
                    string company, 
                    string department, 
                    string office, 
                    string managerAccountName, 
                    string businessPhone, 
                    string fax, 
                    string homePhone, 
                    string mobilePhone, 
                    string pager, 
                    string webPage, 
                    string notes, 
                    string externalEmail) {
            object[] results = this.Invoke("SetUserGeneralSettings", new object[] {
                        itemId,
                        accountId,
                        displayName,
                        password,
                        hideAddressBook,
                        disabled,
                        locked,
                        firstName,
                        initials,
                        lastName,
                        address,
                        city,
                        state,
                        zip,
                        country,
                        jobTitle,
                        company,
                        department,
                        office,
                        managerAccountName,
                        businessPhone,
                        fax,
                        homePhone,
                        mobilePhone,
                        pager,
                        webPage,
                        notes,
                        externalEmail});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSetUserGeneralSettings(
                    int itemId, 
                    int accountId, 
                    string displayName, 
                    string password, 
                    bool hideAddressBook, 
                    bool disabled, 
                    bool locked, 
                    string firstName, 
                    string initials, 
                    string lastName, 
                    string address, 
                    string city, 
                    string state, 
                    string zip, 
                    string country, 
                    string jobTitle, 
                    string company, 
                    string department, 
                    string office, 
                    string managerAccountName, 
                    string businessPhone, 
                    string fax, 
                    string homePhone, 
                    string mobilePhone, 
                    string pager, 
                    string webPage, 
                    string notes, 
                    string externalEmail, 
                    System.AsyncCallback callback, 
                    object asyncState) {
            return this.BeginInvoke("SetUserGeneralSettings", new object[] {
                        itemId,
                        accountId,
                        displayName,
                        password,
                        hideAddressBook,
                        disabled,
                        locked,
                        firstName,
                        initials,
                        lastName,
                        address,
                        city,
                        state,
                        zip,
                        country,
                        jobTitle,
                        company,
                        department,
                        office,
                        managerAccountName,
                        businessPhone,
                        fax,
                        homePhone,
                        mobilePhone,
                        pager,
                        webPage,
                        notes,
                        externalEmail}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndSetUserGeneralSettings(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void SetUserGeneralSettingsAsync(
                    int itemId, 
                    int accountId, 
                    string displayName, 
                    string password, 
                    bool hideAddressBook, 
                    bool disabled, 
                    bool locked, 
                    string firstName, 
                    string initials, 
                    string lastName, 
                    string address, 
                    string city, 
                    string state, 
                    string zip, 
                    string country, 
                    string jobTitle, 
                    string company, 
                    string department, 
                    string office, 
                    string managerAccountName, 
                    string businessPhone, 
                    string fax, 
                    string homePhone, 
                    string mobilePhone, 
                    string pager, 
                    string webPage, 
                    string notes, 
                    string externalEmail) {
            this.SetUserGeneralSettingsAsync(itemId, accountId, displayName, password, hideAddressBook, disabled, locked, firstName, initials, lastName, address, city, state, zip, country, jobTitle, company, department, office, managerAccountName, businessPhone, fax, homePhone, mobilePhone, pager, webPage, notes, externalEmail, null);
        }
        
        /// <remarks/>
        public void SetUserGeneralSettingsAsync(
                    int itemId, 
                    int accountId, 
                    string displayName, 
                    string password, 
                    bool hideAddressBook, 
                    bool disabled, 
                    bool locked, 
                    string firstName, 
                    string initials, 
                    string lastName, 
                    string address, 
                    string city, 
                    string state, 
                    string zip, 
                    string country, 
                    string jobTitle, 
                    string company, 
                    string department, 
                    string office, 
                    string managerAccountName, 
                    string businessPhone, 
                    string fax, 
                    string homePhone, 
                    string mobilePhone, 
                    string pager, 
                    string webPage, 
                    string notes, 
                    string externalEmail, 
                    object userState) {
            if ((this.SetUserGeneralSettingsOperationCompleted == null)) {
                this.SetUserGeneralSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetUserGeneralSettingsOperationCompleted);
            }
            this.InvokeAsync("SetUserGeneralSettings", new object[] {
                        itemId,
                        accountId,
                        displayName,
                        password,
                        hideAddressBook,
                        disabled,
                        locked,
                        firstName,
                        initials,
                        lastName,
                        address,
                        city,
                        state,
                        zip,
                        country,
                        jobTitle,
                        company,
                        department,
                        office,
                        managerAccountName,
                        businessPhone,
                        fax,
                        homePhone,
                        mobilePhone,
                        pager,
                        webPage,
                        notes,
                        externalEmail}, this.SetUserGeneralSettingsOperationCompleted, userState);
        }
        
        private void OnSetUserGeneralSettingsOperationCompleted(object arg) {
            if ((this.SetUserGeneralSettingsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetUserGeneralSettingsCompleted(this, new SetUserGeneralSettingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/SearchAccounts", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public OrganizationUser[] SearchAccounts(int itemId, string filterColumn, string filterValue, string sortColumn, bool includeMailboxes) {
            object[] results = this.Invoke("SearchAccounts", new object[] {
                        itemId,
                        filterColumn,
                        filterValue,
                        sortColumn,
                        includeMailboxes});
            return ((OrganizationUser[])(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginSearchAccounts(int itemId, string filterColumn, string filterValue, string sortColumn, bool includeMailboxes, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("SearchAccounts", new object[] {
                        itemId,
                        filterColumn,
                        filterValue,
                        sortColumn,
                        includeMailboxes}, callback, asyncState);
        }
        
        /// <remarks/>
        public OrganizationUser[] EndSearchAccounts(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((OrganizationUser[])(results[0]));
        }
        
        /// <remarks/>
        public void SearchAccountsAsync(int itemId, string filterColumn, string filterValue, string sortColumn, bool includeMailboxes) {
            this.SearchAccountsAsync(itemId, filterColumn, filterValue, sortColumn, includeMailboxes, null);
        }
        
        /// <remarks/>
        public void SearchAccountsAsync(int itemId, string filterColumn, string filterValue, string sortColumn, bool includeMailboxes, object userState) {
            if ((this.SearchAccountsOperationCompleted == null)) {
                this.SearchAccountsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSearchAccountsOperationCompleted);
            }
            this.InvokeAsync("SearchAccounts", new object[] {
                        itemId,
                        filterColumn,
                        filterValue,
                        sortColumn,
                        includeMailboxes}, this.SearchAccountsOperationCompleted, userState);
        }
        
        private void OnSearchAccountsOperationCompleted(object arg) {
            if ((this.SearchAccountsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SearchAccountsCompleted(this, new SearchAccountsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/DeleteUser", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int DeleteUser(int itemId, int accountId) {
            object[] results = this.Invoke("DeleteUser", new object[] {
                        itemId,
                        accountId});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginDeleteUser(int itemId, int accountId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("DeleteUser", new object[] {
                        itemId,
                        accountId}, callback, asyncState);
        }
        
        /// <remarks/>
        public int EndDeleteUser(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void DeleteUserAsync(int itemId, int accountId) {
            this.DeleteUserAsync(itemId, accountId, null);
        }
        
        /// <remarks/>
        public void DeleteUserAsync(int itemId, int accountId, object userState) {
            if ((this.DeleteUserOperationCompleted == null)) {
                this.DeleteUserOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteUserOperationCompleted);
            }
            this.InvokeAsync("DeleteUser", new object[] {
                        itemId,
                        accountId}, this.DeleteUserOperationCompleted, userState);
        }
        
        private void OnDeleteUserOperationCompleted(object arg) {
            if ((this.DeleteUserCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteUserCompleted(this, new DeleteUserCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GetPasswordPolicy", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public PasswordPolicyResult GetPasswordPolicy(int itemId) {
            object[] results = this.Invoke("GetPasswordPolicy", new object[] {
                        itemId});
            return ((PasswordPolicyResult)(results[0]));
        }
        
        /// <remarks/>
        public System.IAsyncResult BeginGetPasswordPolicy(int itemId, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("GetPasswordPolicy", new object[] {
                        itemId}, callback, asyncState);
        }
        
        /// <remarks/>
        public PasswordPolicyResult EndGetPasswordPolicy(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((PasswordPolicyResult)(results[0]));
        }
        
        /// <remarks/>
        public void GetPasswordPolicyAsync(int itemId) {
            this.GetPasswordPolicyAsync(itemId, null);
        }
        
        /// <remarks/>
        public void GetPasswordPolicyAsync(int itemId, object userState) {
            if ((this.GetPasswordPolicyOperationCompleted == null)) {
                this.GetPasswordPolicyOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetPasswordPolicyOperationCompleted);
            }
            this.InvokeAsync("GetPasswordPolicy", new object[] {
                        itemId}, this.GetPasswordPolicyOperationCompleted, userState);
        }
        
        private void OnGetPasswordPolicyOperationCompleted(object arg) {
            if ((this.GetPasswordPolicyCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetPasswordPolicyCompleted(this, new GetPasswordPolicyCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        public new void CancelAsync(object userState) {
            base.CancelAsync(userState);
        }
    }
    
    
    
    
    
    
    
    
    
    
    
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void CreateOrganizationCompletedEventHandler(object sender, CreateOrganizationCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class CreateOrganizationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal CreateOrganizationCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetRawOrganizationsPagedCompletedEventHandler(object sender, GetRawOrganizationsPagedCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetRawOrganizationsPagedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetRawOrganizationsPagedCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public System.Data.DataSet Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((System.Data.DataSet)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetOrganizationsCompletedEventHandler(object sender, GetOrganizationsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetOrganizationsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetOrganizationsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public Organization[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((Organization[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetOrganizationUserSummuryLetterCompletedEventHandler(object sender, GetOrganizationUserSummuryLetterCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetOrganizationUserSummuryLetterCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetOrganizationUserSummuryLetterCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public string Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((string)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void SendOrganizationUserSummuryLetterCompletedEventHandler(object sender, SendOrganizationUserSummuryLetterCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class SendOrganizationUserSummuryLetterCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal SendOrganizationUserSummuryLetterCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void DeleteOrganizationCompletedEventHandler(object sender, DeleteOrganizationCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class DeleteOrganizationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal DeleteOrganizationCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetOrganizationStatisticsCompletedEventHandler(object sender, GetOrganizationStatisticsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetOrganizationStatisticsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetOrganizationStatisticsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public OrganizationStatistics Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((OrganizationStatistics)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetOrganizationCompletedEventHandler(object sender, GetOrganizationCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetOrganizationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetOrganizationCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public Organization Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((Organization)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void AddOrganizationDomainCompletedEventHandler(object sender, AddOrganizationDomainCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class AddOrganizationDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal AddOrganizationDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetOrganizationDomainsCompletedEventHandler(object sender, GetOrganizationDomainsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetOrganizationDomainsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetOrganizationDomainsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public OrganizationDomainName[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((OrganizationDomainName[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void DeleteOrganizationDomainCompletedEventHandler(object sender, DeleteOrganizationDomainCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class DeleteOrganizationDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal DeleteOrganizationDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void SetOrganizationDefaultDomainCompletedEventHandler(object sender, SetOrganizationDefaultDomainCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class SetOrganizationDefaultDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal SetOrganizationDefaultDomainCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void CreateUserCompletedEventHandler(object sender, CreateUserCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class CreateUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal CreateUserCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetOrganizationUsersPagedCompletedEventHandler(object sender, GetOrganizationUsersPagedCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetOrganizationUsersPagedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetOrganizationUsersPagedCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public OrganizationUsersPaged Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((OrganizationUsersPaged)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetUserGeneralSettingsCompletedEventHandler(object sender, GetUserGeneralSettingsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetUserGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetUserGeneralSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public OrganizationUser Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((OrganizationUser)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void SetUserGeneralSettingsCompletedEventHandler(object sender, SetUserGeneralSettingsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class SetUserGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal SetUserGeneralSettingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void SearchAccountsCompletedEventHandler(object sender, SearchAccountsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class SearchAccountsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal SearchAccountsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public OrganizationUser[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((OrganizationUser[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void DeleteUserCompletedEventHandler(object sender, DeleteUserCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class DeleteUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal DeleteUserCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetPasswordPolicyCompletedEventHandler(object sender, GetPasswordPolicyCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetPasswordPolicyCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetPasswordPolicyCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public PasswordPolicyResult Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((PasswordPolicyResult)(this.results[0]));
            }
        }
    }
}
